package com.me.libgdx_test;

public class ClassDungeonEnemy extends AbstractClassDungeonObject{
	int[] base_stats;
	boolean[] ability_stats;
	String[] first_names;
	String boss_name;
	//ClassCharacterEnemy enemy_profile;
	ClassDungeonEnemy(String Name, String Image, String Description, String Advice, String[] first_names, int[] base_stats, boolean[] ability_stats, String boss_name){
		this.Name = Name;
		this.Image = Image;
		this.Advice = Advice;
		this.first_names = first_names;
		//mburn, poison, MRnorm, MRplus, PRnorm, PRplus, forget, blind, weakness, magicalAttack, undead, coward, banish, fStrike, static
		this.ability_stats = ability_stats;
		this.boss_name = boss_name;
		this.base_stats = base_stats;
		
		this.Description = compile_description();
		//enemy_profile = new ClassCharacterEnemy(base_stats[0],base_stats[1],base_stats[2]);
	}
	
	public String compile_description(){
		String constructed_string = "\n-Base Stats-\n";
		constructed_string += "Atk: " + base_stats[0] + "\n";
		constructed_string += "Health: " + base_stats[1] + "\n";
		constructed_string += "Lives: " + (Name == "Re-Animate" ? "1 per lvl" : base_stats[2]) + "\n\n";
		constructed_string += "Mods:\n";
		for(int i = 0; i < ability_stats.length;i++){
			if(ability_stats[i]){
				constructed_string += "{"+i+"}\n";
			}
		}
		constructed_string += "\nAdvice: " + Advice + "\n";
		return constructed_string;
	}
	
	ClassDungeonEnemy(ClassDungeonEnemy enemy){
		this.Name = enemy.Name;
		this.Image = enemy.Image;
		this.Description = enemy.Description;
		this.Advice = enemy.Advice;
		this.first_names = enemy.first_names;
		//mburn, poison, MRnorm, MRplus, PRnorm, PRplus, forget, blind, weakness, magicalAttack, undead, coward, banish, fStrike, static
		this.ability_stats = enemy.ability_stats;
		this.boss_name = enemy.boss_name;
		this.base_stats = enemy.base_stats;
		//enemy_profile = new ClassCharacterEnemy(enemy.enemy_profile);
	}
	
}